Method and system for credit card holder identification

ABSTRACT

The present invention is associated with a method that takes a subsequence of a credit card number, in particular the suffix (or last n digits), and transaction data associated with the cardholder. For each subsequence of the credit card number, a set of data may be used in order to uniquely identify the cardholder. The identification of the cardholder may be performed in a particular search space that is composed of all possible credit card numbers and includes the transaction data associated with the cardholder.

RELATED APPLICATIONS

The present patent document claims the benefit of the filing date under35 U.S.C. § 119(e) of Provisional U.S. Patent Application Ser. No.61/459,157, filed Dec. 7, 2010, which is hereby incorporated byreference.

BACKGROUND

The present disclosure is directed generally to a method and system forcredit card holder identification and more particularly to a method andsystem for credit card holder identification using a portion of thecredit card holder's credit card number.

BRIEF SUMMARY

A method for credit card holder identification using a portion of thecredit card holder's credit card number is set forth herein. Alsodescribed is a system configured to identify a credit card holder usinga portion of the credit card holder's credit card number.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary computer system for implementing certainmethods for credit card holder identification in accordance with theteachings of the present disclosure;

FIG. 2 illustrates a method for credit card holder identification inaccordance with the teachings of the present disclosure;

FIG. 3 illustrates an algorithm for generating a search space inaccordance with the teachings of the present disclosure; and

FIG. 4 illustrates an algorithm for searching for a credit card holderin a search space in accordance with the teachings of the presentdisclosure.

FIG. 5 illustrates an exemplary public network architecture forimplementing a credit card holder identification system.

DETAILED DESCRIPTION

FIG. 1 is a block diagram showing an embodiment of a computer system 100that may be used to implement methods for credit card holderidentification in accordance with the teachings of the presentdisclosure. One or more computer systems 100 may carry out the methodspresented herein as computer programs. The term “computer program”includes, for example, code, instructions, signals and/or data.

The system 100 is composed of a computer 100 a primarily comprising amain body 110, a display 120, and an input device 130. The main body 110comprises a CPU 110 a, a ROM 110 b, a RAM 110 c, a hard disk 110 d, areadout device 110 e, an input/output interface 110 f, and an imageoutput interface 110 h. The CPU 110 a, the ROM 110 b, the RAM 110 c, thehard disk 110 d, the readout device 110 e, the input/output interface110 f, and the image output interface 110 h are data-communicablyconnected by a bus 110 i.

The CPU 110 a is capable of executing a computer program recorded in theROM 110 b and/or a computer program loaded in the RAM 110 c.

The ROM 110 b comprises mask ROM, PROM, EPROM, EEPROM, etc., and isrecorded with computer programs executed by the CPU 110 a and data usedfor the programs.

The RAM 110 c comprises SRAM, DRAM, etc. The RAM 110 c is used to readout computer programs recorded in the ROM 110 b and the hard disk 110 d,and is used as a work area of the CPU 110 a when these computer programsare executed.

The hard disk 110 d is installed with an operating system, variouscomputer programs to be executed by the CPU 110 a, and data used forexecuting the computer programs.

The readout device 110 e which comprises a flexible disk drive, a CD-ROMdrive or DVD-ROM drive is capable of reading out a computer program ordata recorded in a portable recording media 140. The portable recordingmedia 140 stores the computer program, i.e., the application program 140a, to function as a system of the present disclosure. The computer readsout the application program 140 a related to the present disclosure fromthe portable recording media 140 and is capable of installing theapplication program 140 a in the hard disk 110 d.

In addition to that said application program 140 a is provided by theportable recording media 140, said application program 140 a may beprovided through an electric communication line (wired or wireless) fromoutside devices which are communicably connected to the computer viasaid electric communication line and a communications interface. Forexample, said application program 140 a is stored in a hard disk in anapplication program providing server computer on the Internet to whichthe computer accesses and said application program 140 a may bedownloaded and installed in the hard disk 110 d.

The hard disk 110 d is installed with an operating system, such as anoperating system which provides a graphical user interface environment,e.g. Microsoft Windows manufactured by Microsoft Corp. of Redmond, Wash.In the explanation hereinafter, the application program 140 a related tothis embodiment shall operate on said operating system.

The input/output interface 110 f comprises a serial interface, e.g. USB,IEEE1394, RS-232C, etc.; a parallel interface, e.g. SCSI, IDE, IEEE1284,etc.; and an analog interface, e.g. D/A converter, A/D converter, etc.The input/output interface 110 f is connected to the input device 130comprising a keyboard and a mouse and users capable of inputting datainto the computer using the input data device 130.

The image output interface 110 h is connected to the display 120comprising LCD, CRT or the like so that picture signals corresponding toimage data provided from the CPU 110 a are output to the display 120.The display 120 displays a picture (screen) based on input picturesignals.

The present disclosure is also directed to computer products, otherwisereferred to as computer program products, to provide software thatincludes computer code to the computer system 100. The CPU 110 aexecutes the computer code in order to implement the methods of thepresent disclosure and to provide the functionality described herein. Asan example, the methods according to the present disclosure may beimplemented using software that includes the computer code, wherein thesoftware is loaded into the computer system 100 using a memory (e.g.,ROM 110 b, RAM 110 c), a mass storage device (e.g., hard disk 110 d,readout device 110 e), or through an interface (e.g., I/O interface 110f, a communications interface) with the computer system 110. Thecomputer code in conjunction with the computer system 110 describedherein may perform any one of, or any combination of, the steps of anyof the methods presented herein. It is also contemplated that themethods according to the present disclosure may be performedautomatically, or may be invoked by some form of manual intervention.

The computer system 100 of FIG. 1 is provided only for purposes ofillustration, such that the present disclosure is not limited to thisspecific embodiment. It is appreciated that a person skilled in therelevant art knows how to program and implement the methods according tothe present disclosure using any suitable computer system or networkarchitecture.

FIG. 2 illustrates a method 200 for credit card holder identification inaccordance with the teachings of the present disclosure. The method 200,for example, allows a third party to identify or locate a cardholder(i.e., credit card holder) and associated information using avariable-length suffix of the cardholder's credit card number. In oneembodiment, it may be assumed that if the credit card number is from apartial or virtual card, there will be no reason to retrieve itsassociated information. Such cards are used for single-transactionaccounts that do not contain multiple transactional records that occurover time.

As described in greater detail hereinafter, for each subsequence of thecredit card number, a set of data may be used in order to uniquelyidentify the cardholder. The identification of the cardholder may beperformed in a particular search space that is composed of all possiblecredit card numbers and includes extra information about the cardholder.

Preferably, transaction data for cardholders can be gathered fromvarious sources (including merchant processors, acquiring banks, issuingbanks and retailers direct feeds and credit card networks) usingdifferent data collection mechanisms. In one embodiment, it will beassumed that some of the information related to cardholders, such as thestart date, end date, registration date, birthdate, name on card, firstactivity date, last activity date, card type, address, city, state, zipcode, and country code, will be used consistently as input informationor concepts together with a variable length suffix of the credit cardnumber. The method 200 of FIG. 2 is based on two steps. First, in StepS201, the system 100 generates a search space according to all ofpossible solutions for credit cards. Step S201 may approximate thesearch using dimensionality reduction and hashing collision techniqueswithin the overall space of candidate credit cards. Step S201 isdescribed in the following algorithms, Algorithm 1 and Algorithm 2,which are illustrated in FIG. 3.

Algorithm 1:

In Step 301, the system 100 receives or retrieves as input a list of allpossible values for a given concept or set of concepts. In oneembodiment, the given concept or set of concepts corresponds to theconcepts included in the transaction data for cardholders that isgathered from merchant processors, acquiring banks, issuing banks,retailers direct feeds, credit card and other various sources.

In Step 302, the system 100 builds all valid credit card numberscombinations. Credit card numbers can be computed using a brute forcealgorithm, validating at each step the checksum of the credit cardnumber by the Lhun's (mod 10) formula (see Algorithm 2).

In Step 303, if the number of concepts is 1, the system 100 concatenatesall possible concept values with all previously computed credit cardnumbers to create a set of key values, and stores them in a hash table.In particular, the key values are used to determine the indices of thehash table using a suitable hashing function. Concept values may be usedas a salt in the evaluation of the suitable hashing function.

In Step 304, if the number of concepts is greater of equal than 2, thesystem 100 concatenates all possible concept values, and combination ofthese values, with each valid credit card number to create a set of keyvalues. Then, the system 100 assigns these key values to the hash tableusing an appropriate hashing function. In one embodiment, an algorithmsuch as SHA-2 or HMAC-SHA-2 may be used to map the previous sequences tothe hash table data structure so as to reduce hash collision problems.In this way, Algorithm 1 generates as output a hash table with a creditcard number search space.

Algorithm 2, as described by (Lhun, 1960):

In algorithm 2, a credit card number is input and a Boolean v is output.If the credit card number has an even number of digits (e.g. 16), thenthe system 100 doubles every odd numbered digit and subtracts 9 if theproduct is greater than 9. The system 100 then adds up all the evendigits as well as the doubled-odd digits. If result.mod(10)=0, v=trueelse v=false. Otherwise, if the card number has an odd number of digits(e.g. 15), the system 100 performs the same process described above,except that it doubles the even numbered digits instead of the oddnumber digits.

As a result of Algorithm 1, a data structure is built with all possiblecredit card numbers to allow future search queries by new input data.This structure will be used to assign incoming credit card number valueswith captured accounts. Then, the resulting number of the hashingfunction can be used as the identifier of further applications that mayderived from this method.

Once the search space is built, the method 200 leads to Step S202. InStep S202, the system determines which cardholder could be the owner ofa given subsequence of a credit card number using pattern recognitiontechniques. This Step S202 may include identifying the original creditcard number in the previous data structure using as an input allpossible data: variable length suffix of the credit card number, email,start date, end date, registration date, birthdate, name on card, firstactivity date, last activity date, card type, address, city, state, zipcode, and country code. This search Step S202 is described in thefollowing Algorithm 3, which is illustrated in FIG. 4.

Algorithm 3:

In Step 401, the system 100 receives or retrieves as input a suffix withs numbers, where the value of s is greater than or equal to 3, and afeature set x with information of the prospective cardholder.

In Step 402, given the last n−1 digits of the suffix of the prospectivecardholder, the system 100 builds all possible 16 digits credit cardnumber using the nth digit from the subsequence as a checksum tovalidate whether the complete sequence is valid or not. If the type ofcard and/or issuer are known through the card type input information,the amount of possible credit card number diminishes dramatically. (Inmost cases, the first number corresponds to the major industryidentifier, and the 6 following numbers are considered as the issueridentifier). Then, all possible values are generated by considering the7th digit to the (15-n)th digit as the last digit is the checksumidentifier.

In Step 403, the system 100 reduces the amount of potential credit cardnumbers by validating previous set of numbers with Luhn's (mod10)algorithm (Algorithm 2).

In Step 404, the system 100 extracts all concepts previously used tocreate the search space from the inputted feature set x. Then, thesystem 100 concatenates the values of the extracted concepts with allre-generated credit card numbers. When applying the hash function, thisgenerates a unique number that will be associated to the respectivecredit card holder data in the following step of the algorithm.

In Step 405, the system 100, using as a search space all credit cardnumbers with concepts in algorithm 1, adds to all possible slots of thehash table associated with the unique number a virtual profile for theprospective cardholder. The concept of a slot is related to the valuesgenerated by the hashing function when the search space was built. Everyslot is associated to one combination of the values for the generatedvalid credit card numbers, and the possible values for the conceptsavailable to build the search space. On each slot, all relatedcardholder profiles (i.e., profiles with the same information for boththe credit card number suffix and the concepts) will be stored with anidentifying number or ID (e.g., a combination of all available features)and a weight value which is set as zero (0) when a given feature vectorx is added for the first time, and will be updated in further steps ofthe algorithm.

In addition, when further transaction data or information on real creditcards is available, there is a possibility to reduce the search space,focusing on the indexes (hash between credit card number and concepts)associated to data which is most likely to belong to a real user. Inthis sense, when information about cardholders is used to search for theunique link between the end user and the credit card suffix, the mappingcould be prioritized towards the slots which are associated to realtransactions. To facilitate the access to the labeled slots, theirrespective indexes could be stored in a separate hash data structure.

In Step 406, if the input feature set x was already in slot k, then thesystem100 retrieves the customer ID.

If the input feature set x was not already in slot k, then the system100 searches for the most similar virtual profile x′ using input featureset x in Step 407 and updates the weight of input feature set x on slotk using a similarity measure in Step 408. When searching for the mostsimilar profile for a given input feature vector x, the similarityfunction (which may be represented by the cosine function between theangle of two vectors) will update the input vector weights using asreference the closest vector in the slot (using a distance function d).Furthermore, without loss of generality, it is relevant to point outthat other similarity functions could be used with the same purpose,such as kernel methods, probabilities, and further elements from measuretheory.

In Step 409. the system 100 retrieves the customer ID searching for theslot with the higher weight with respect to input feature set x. In thisway, Algorithm 3 generates as output a hash number (Customer ID) for theclosest matching credit cardholder.

In one embodiment, cardholders can be enrolled in a given informationsystem that accepts cardholder information along with a subsequence ofthe cardholder's credit card number. This input process facilitates thestorage of new information and the execution of complex queries of theinformation system. This information system consists of a database thatis built to update the profile data for a given suffix of the creditcard number and an authentication gateway.

If a given cardholder is enrolled and the associated transactional datais gathered by a given information system, the search Step S2 can beenhanced by reducing the search space with all available information. Atall times, a profile for the cardholder can be computed, which describesa unique buying fingerprint. This profile can be computed usingtransactional data (e.g. amount of purchase, merchant, number of items,time since last purchase, etc.), which can be stored together with thehashing representation of its credit card number with the concepts suchas the respective email, start date, end date, registration date,birthdate, name on card, first activity date, last activity date, cardtype, address, city, state, zip code, and country code.

When a cardholder is enrolled and the first transaction settles, themajor industry identifier and the issuer identifier (first 7 digits) ofthe credit card can be stored. This information can be added to thebuying fingerprint of a given user to make further enhancements in thesearch for the user's data, given the suffix of n digits originated froma given credit card number.

FIG. 5 shows one of many possible network architectures 500 that may beused to implement methods for credit card holder identification inaccordance with the teachings of the present disclosure. The system 100(illustrated in exemplary detail in FIG. 1) may connect to a network 510that is in further communication with third parties' computer systemsattempting to identify or locate a cardholder using the system 100. Thethird parties' computer systems may be located at and/or associated withmerchant processors 230, acquiring banks 232, issuing banks 234,retailers' direct feeds 236, and credit card networks 238. The system100 may also communicate with computer systems associated withindividual credit card holders 220, or other third-party data providersor service vendors 210. In other embodiments, a different computersystem may be used instead of computer system 100. The network 510 ofthe network architecture 500 may be any suitable network such as, forexample, a publicly accessible distributed network like the Internet orother telecommunications network.

In another embodiment, there is disclosed a method for separatingpayment transactional data from payment information data by detectingwith an input variable length suffix of a credit card number togetherwith other sources of data, which will be used to store and separate allavailable transactional data from payment information data.

The transactional data may relate to a commercial transaction. Thecommercial transaction may relate to a purchase of a product or apurchase of a subscription. In particular, the commercial transactionmay relate to purchase of a product from a merchant with all availabletemporal information, such as temporal information that relates to thefrequency of purchases as temporal purchase windows can be extractedfrom a given customer for a given merchant. Further, the commercialtransaction may relate to one or more of the following: churn, clientacquisition, up-sell, cross-sell or win-back, or a combination thereof.Also, the commercial transaction may relate to a company or merchant,wherein the commercial transaction further comprises communication withthe company or merchant, or changing at least one parameter of thecommercial transaction. Also, the payment transactional data may relateto any information contained on a customer or payment card, such as theprimary account number, cardholder name, expiration date, and servicecode.

In addition, the method for separating payment transactional data frompayment information data may further comprise determining at least onemarketing action associated with a relationship. The marketing actionmay comprise one or more of the following: increasing brand awareness,churn prevention, client retention, client acquisition, up-sell,cross-sell or win-back, or a combination thereof.

In addition, the method for separating payment transactional data frompayment information data may further comprise detecting an explicit orimplicit communication with the company or merchant and also determiningthe relationship according to the explicit or implicit communication.The implicit communication may be performed through the Internet,including email, posting on a web page, posting on a blog, posting on achat room, visiting a web page or an IM (instant messenger) message. Thedetection of the explicit or implicit communication may comprisedetermining an active transmission coefficient for active transfer ofinformation and/or determining an intrinsic transmission coefficient forpassive transfer of information. The transaction may have a longdecision cycle or a short decision cycle.

In addition, the method for separating payment transactional data frompayment information data may further comprise determining a plurality ofrelationships, constructing a social group from said plurality ofrelationships, and constructing a social network from the social group.Alternatively, a social network may be constructed from the plurality ofrelationships. Further, a plurality of social networks may be overlaidto establish a new social network according to a similarity threshold.Also, the method may determine an influence in the relationships,wherein the influence may be active and/or passive, determine a strengthof the relationship, and selecting a preferred mode of influence fromactive or passive according to the strength of said relationship.

In another embodiment, there is disclosed a method for creating a buyingfingerprint for customers given a suffix of the credit card number andtransactional data by using data clustering strategies, as well aspattern recognition algorithms, in such a manner that customers can beclassified and clustered in terms of their transactional data. Thepattern recognition algorithms may relate to unsupervised learning,supervised learning, semi-supervised learning, reinforcement learning,association rules learning, Bayesian learning, solving for probabilisticgraphical models, or other computational intelligence algorithms whichstates an interactive process to extract patterns from transactionaldata.

The transactional data may relate to a commercial transaction. Thecommercial transaction may relate to a purchase of a product or apurchase of a subscription. In particular, the commercial transactionmay relate to purchase of a product from a merchant with all availabletemporal information, such as temporal information that relates to thefrequency of purchases as temporal purchase windows can be extractedfrom a given customer for a given merchant. Further, the commercialtransaction may relate to one or more of the following: churn, clientacquisition, up-sell, cross-sell or win-back, or a combination thereof.Also, the commercial transaction may relate to a company or merchant,wherein the commercial transaction further comprises communication withthe company or merchant, or changing at least one parameter of thecommercial transaction. Also, the payment transactional data may relateto any information contained on a customer or payment card, such as theprimary account number, cardholder name, expiration date, and servicecode.

In addition, the method for creating a buying fingerprint for customersmay further comprise determining at least one marketing actionassociated with a relationship. The marketing action may comprise one ormore of the following: increasing brand awareness, churn prevention,client retention, client acquisition, up-sell, cross-sell or win-back,or a combination thereof.

In addition, the method for creating a buying fingerprint for customersmay further comprise detecting an explicit or implicit communicationwith the company or merchant and also determining the relationshipaccording to the explicit or implicit communication. The implicitcommunication may be performed through the Internet, including email,posting on a web page, posting on a blog, posting on a chat room,visiting a web page or an IM (instant messenger) message. The detectionof the explicit or implicit communication may comprise determining anactive transmission coefficient for active transfer of informationand/or determining an intrinsic transmission coefficient for passivetransfer of information. The transaction may have a long decision cycleor a short decision cycle.

In addition, the method for creating a buying fingerprint for customersmay further comprise determining a plurality of relationships,constructing a social group from said plurality of relationships, andconstructing a social network from the social group. Alternatively, asocial network may be constructed from the plurality of relationships.Further, a plurality of social networks may be overlaid to establish anew social network according to a similarity threshold. Also, the methodmay determine an influence in the relationships, wherein the influencemay be active and/or passive, determine a strength of the relationship,and selecting a preferred mode of influence from active or passiveaccording to the strength of said relationship.

In another embodiment, there is disclosed a method for measuring ROI andadvertising performance for brands given a suffix of a credit cardnumber, all available transactional data, and all investments performedby a given merchant.

The transactional data may relate to a commercial transaction. Thecommercial transaction may relate to a purchase of a product or apurchase of a subscription. In particular, the commercial transactionmay relate to purchase of a product from a merchant with all availabletemporal information, such as temporal information that relates to thefrequency of purchases as temporal purchase windows can be extractedfrom a given customer for a given merchant. Further, the commercialtransaction may relate to one or more of the following: churn, clientacquisition, up-sell, cross-sell or win-back, or a combination thereof.Also, the commercial transaction may relate to a company or merchant,wherein the commercial transaction further comprises communication withthe company or merchant, or changing at least one parameter of thecommercial transaction. Also, the payment transactional data may relateto any information contained on a customer or payment card, such as theprimary account number, cardholder name, expiration date, and servicecode.

In addition, the method for separating payment transactional data frompayment information data may further comprise determining at least onemarketing action associated with a relationship. The marketing actionmay comprise one or more of the following: increasing brand awareness,churn prevention, client retention, client acquisition, up-sell,cross-sell or win-back, or a combination thereof.

In addition, the method for separating payment transactional data frompayment information data may further comprise detecting an explicit orimplicit communication with the company or merchant and also determiningthe relationship according to the explicit or implicit communication.The implicit communication may be performed through the Internet,including email, posting on a web page, posting on a blog, posting on achat room, visiting a web page or an IM (instant messenger) message. Thedetection of the explicit or implicit communication may comprisedetermining an active transmission coefficient for active transfer ofinformation and/or determining an intrinsic transmission coefficient forpassive transfer of information. The transaction may have a longdecision cycle or a short decision cycle.

In addition, the method for separating payment transactional data frompayment information data may further comprise determining a plurality ofrelationships, constructing a social group from said plurality ofrelationships, and constructing a social network from the social group.Alternatively, a social network may be constructed from the plurality ofrelationships. Further, a plurality of social networks may be overlaidto establish a new social network according to a similarity threshold.Also, the method may determine an influence in the relationships,wherein the influence may be active and/or passive, determine a strengthof the relationship, and selecting a preferred mode of influence fromactive or passive according to the strength of said relationship.

In another embodiment, there is disclosed a method for identifying aspecific cardholder by using the suffix of n digits from thecardholder's credit card number.

In another embodiment, there is disclosed a method for confirmingoffline purchases of a cardholder by using the suffix of n digits fromthe cardholder's credit card number.

The foregoing detailed description and accompanying drawings have beenprovided by way of explanation and illustration, and are not intended tolimit the scope of the appended claims. Many variations in the presentlypreferred embodiments illustrated herein will be obvious to one ofordinary skill in the art, and remain within the scope of the appendedclaims and their equivalents.

1.-19. (canceled)
 20. An apparatus comprising at least one processor andat least one memory storing instructions that, when executed by the atleast one processor, cause the apparatus to: receive a credit cardnumber suffix, wherein the credit card number suffix is associated witha cardholder; receive available transaction data for the cardholder;access a data structure of aggregated transaction data received from aplurality of different data collection mechanisms, wherein the creditcard number suffix is associated with multiple transactions of theaggregated transaction data; regenerate, based on the credit card numbersuffix, a set of possible valid credit card numbers for the cardholder,wherein each possible valid credit card number contains the credit cardnumber suffix; generate concatenated credit card numbers based at leastin part on the regenerated set of possible valid credit card numbers andthe received available transaction data; map the concatenated creditcard numbers to one or more indices of a hash table; determine if thereceived available transaction data is already in the data structure atthe locations corresponding to the one or more indices; if the receivedavailable transaction data is already in the data structure at thelocations corresponding to one of the indices, identify an indices-basedcardholder identifier associated with such locations and associate theindices-based cardholder identifier with the received credit card numbersuffix; and if the received available transaction data is not already inthe data structure at the locations corresponding to one of the indices,modify the data structure to create an updated data structure, whereinmodifying the data structure comprises: applying a pattern recognitionalgorithm to the data structure of aggregated transaction data toidentify a most similar data record; identifying a similarity-basedcardholder identifier associated with the most similar data record;updating the data structure to add the received available transactiondata that was not already in the data structure; associating thesimilarity-based cardholder identifier with the credit card numbersuffix; and updating the pattern recognition algorithm using the updateddata structure of aggregated transaction data as a training set.
 21. Theapparatus of claim 20, wherein modifying the data structure furthercomprises updating a weight value associated with the received availabletransaction data added to the data structure.
 22. The apparatus of claim20, wherein if the received available transaction data is already in thedata structure at the locations corresponding to one of the indices, theinstructions further cause the apparatus to update a weight valueassociated with the stored received available transaction data.
 23. Theapparatus of claim 20, wherein the pattern recognition algorithmincludes at least one of unsupervised learning, supervised learning,semi-supervised learning, reinforcement learning, association ruleslearning, Bayesian learning, or solving for probabilistic graphicalmodels.
 24. The apparatus of claim 20, wherein the data structure ofaggregated transaction data defines cardholder profiles comprising ahashing representation of a credit card number and one or more ofcardholder email, start date, end date, registration data, birthdate,name on card, first activity date, last activity date, card type,address, city, state, zip code, and country code.
 25. The apparatus ofclaim 20, wherein the data structure of aggregated transaction datadefines cardholder profiles, each cardholder profile corresponding to acardholder buying fingerprint.
 26. The apparatus of claim 20, whereinthe instructions further cause the apparatus to: apply data clusteringstrategies and the pattern recognition algorithm to the data structureof aggregated transaction data to classify a plurality of cardholderidentifiers into clusters based on the aggregated transaction data;create a buying fingerprint for each of the plurality of cardholderidentifiers based on the aggregated transaction data and on theclusters; and store the buying fingerprint in the data structure ofaggregated transaction data associated with each of the plurality ofcardholder identifiers.
 27. The apparatus of claim 20, wherein theavailable transaction data relates to a commercial transaction by thecardholder with a merchant.
 28. The apparatus of claim 20, wherein theavailable transaction data comprises one or more of cardholder name,expiration date, or service code.
 29. A computer-implemented methodcomprising: receiving a credit card number suffix, wherein the creditcard number suffix is associated with a cardholder; receiving availabletransaction data for the cardholder; accessing a data structure ofaggregated transaction data received from a plurality of different datacollection mechanisms, wherein the credit card number suffix isassociated with multiple transactions of the aggregated transactiondata; regenerating, based on the credit card number suffix, a set ofpossible valid credit card numbers for the cardholder, wherein eachpossible valid credit card number contains the credit card numbersuffix; generating concatenated credit card numbers based at least inpart on the regenerated set of possible valid credit card numbers andthe received available transaction data; mapping the concatenated creditcard numbers to one or more indices of a hash table; determining if thereceived available transaction data is already in the data structure atthe locations corresponding to the one or more indices; if the receivedavailable transaction data is already in the data structure at thelocations corresponding to one of the indices, identifying anindices-based cardholder identifier associated with such locations andassociating the indices-based cardholder identifier with the receivedcredit card number suffix.
 30. The method of claim 29, furthercomprising: if the received available transaction data is not already inthe data structure at the locations corresponding to one of the indices,modifying the data structure to create an updated data structure,wherein modifying the data structure comprises: applying a patternrecognition algorithm to the data structure of aggregated transactiondata to identify a most similar data record; identifying asimilarity-based cardholder identifier associated with the most similardata record; updating the data structure to add the received availabletransaction data that was not already in the data structure; associatingthe similarity-based cardholder identifier with the credit card numbersuffix; and updating the pattern recognition algorithm using the updateddata structure of aggregated transaction data as a training set.
 31. Themethod of claim 30, wherein modifying the data structure furthercomprises updating a weight value associated with the received availabletransaction data added to the data structure.
 32. The method of claim29, further comprising updating a weight value associated with thestored received available transaction data.
 33. The method of claim 29,wherein the pattern recognition algorithm includes at least one ofunsupervised learning, supervised learning, semi-supervised learning,reinforcement learning, association rules learning, Bayesian learning,or solving for probabilistic graphical models.
 34. The method of claim29, wherein the data structure of aggregated transaction data definescardholder profiles comprising a hashing representation of a credit cardnumber and one or more of cardholder email, start date, end date,registration data, birthdate, name on card, first activity date, lastactivity date, card type, address, city, state, zip code, and countrycode.
 35. The method of claim 29, wherein the data structure ofaggregated transaction data defines cardholder profiles, each cardholderprofile corresponding to a cardholder buying fingerprint.
 36. The methodof claim 29, further comprising: applying data clustering strategies andthe pattern recognition algorithm to the data structure of aggregatedtransaction data to classify a plurality of cardholder identifiers intoclusters based on the aggregated transaction data; creating a buyingfingerprint for each of the plurality of cardholder identifiers based onthe aggregated transaction data and on the clusters; and storing thebuying fingerprint in the data structure of aggregated transaction dataassociated with each of the plurality of cardholder identifiers.
 37. Themethod of claim 29, wherein the available transaction data relates to acommercial transaction by the cardholder with a merchant.
 38. The methodof claim 29, wherein the available transaction data comprises one ormore of cardholder name, expiration date, or service code.